/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package compilador.analisadorLexico.automatos;

import compilador.analisadorLexico.CodeReader;
import compilador.analisadorLexico.Token;
import compilador.analisadorLexico.TokenErro;

/**
 *
 * @author Henrique
 */
public class AutomatoErro implements IAutomato{
    
    private CodeReader reader;
    
    public AutomatoErro(CodeReader reader) {
        this.reader = reader;
    }
    
    public Token extraiToken() {
        reader.clear();
        
        reader.next(); //pega o caracter de erro
        
        reader.next(); //avança para o caracter posterior
        
        int linha = reader.getCurrentLine();
        final String lexema = reader.closeToken();
        
        Token token = null;
        lexema.trim();
        if(! lexema.isEmpty())
            token = new TokenErro(lexema,linha, "Caracter inicial não reconhecido");
        
        //System.out.println(token.getAtributo());
        
        return token;
    }

}
